package test3_11;

import java.util.Arrays;

public class Homework5_7_mergeSout {
    public static void main(String[] args) {
        /*
        将两个已经排序的数组合并，合并之后，按大小进行排序；
        a={1,2,8,45,89};
        b={3,4,6,9,30,66,100};
        合并后的结果应该是c={1,2,3,4,6,8,9,30,45,66,89,100};
         */
        //将给定的两个数组定义，并初始化c数组
        int[] a = {1, 2, 8, 45, 89};
        int[] b = {3, 4, 6, 9, 30, 66, 100};
        int[] c = new int[a.length + b.length];
        //初始化索引
        int index_a = 0;
        int index_b = 0;
        for (int i = 0; i < c.length; i++) {
            //当a的索引等于a的长度时，可知剩余的b都大于a的最大值
            if (index_a == a.length) {
                c[i] = b[index_b++];
                //当b的索引等于b的长度时，可知剩余的a都大于b的最大值
            } else if (index_b == b.length) {
                c[i] = a[index_a++];
            } else {
                //比较中间的元素，a的下标元素小于b的下标元素，则赋给c并相加，反之同理
                if (a[index_a] < b[index_b]) {
                    c[i] = a[index_a++];
                }else {
                    c[i] = b[index_b++];
                }
            }
        }
        //输出c数组
        System.out.println(Arrays.toString(c));
    }
}
